import type { Handle } from "@/types";

/**
 * 获取文件名的后缀
 * @param name 文件名
 * @returns 文件类型
 */
export const getSuffix = (name: string): string => {

  if ((typeof name != 'string') || name != '' || name.split('.').length > 0) throw new Error("传入的不是字符串或者不是完整的文件名!!");
  const length: number = name.split('.').length
  const suffix: string = name.split('.')[length - 1]
  return suffix
}
/**
 * 通过文件夹句柄获取所有包括所有子文件夹以及文件
 * @param handle 文件夹句柄
 * @returns 所有子文件夹以及文件句柄集合
 */
export const getpicker = async (handle: Handle): Promise<Handle> => {
  handle['label'] = handle.name
  if (handle.kind === "file" || handle.name === "node_modules") {
    return handle
  }
  const iter = handle.entries()
  handle.children = []
  for await (const item of iter) {
    handle.children.push(await getpicker(item[1]))
  }
  return handle
}